package com.pl.tree;

import com.github.jeffreyning.mybatisplus.conf.EnableMPP;
import com.shdata.health.common.CommonApplication;
import com.shdata.health.common.serializer.jackson.JsonConfiguration;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.FilterType;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.transaction.annotation.EnableTransactionManagement;

/**
 * @author pl
 * @Date 2025/7/28
 */
@EnableMPP
@EnableAsync
@EnableCaching
@EnableDiscoveryClient
@SpringBootApplication
@ComponentScan(basePackages = {"com.shdata.health.**"},excludeFilters = @ComponentScan.Filter(
        type = FilterType.ASSIGNABLE_TYPE,
        classes = {CommonApplication.class, JsonConfiguration.class}))
@EnableFeignClients(basePackages = {"com.shdata.health.common.**"})
@MapperScan(basePackages = {"com.shdata.health.**.mapper"})
@EnableTransactionManagement
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
